// 用户信息相关的vuex的js
export default{
    namespaced:true,
    // 刷新后数据会没有
    // 通常情况下结合H5缓存 session/local Storage 
    // 插件：vue-persist写完后可以自行了解下
    state:{
        // 表示用户是否登录
        isLogin:sessionStorage.getItem("isLogin")||false,
        // 表示用户是否注册
        isregister:sessionStorage.getItem("isregister")||false,
         // 登录后展示为用户的手机号/姓名
         username:sessionStorage.getItem("username")||"",
    },
    mutations:{
        // 登录
        login(state){
            // 不仅vuex的要修改，session也要
            state.isLogin=true
            sessionStorage.setItem("isLogin",true) 
        },

        // 注册
        register(state){
            state.isregister=true
            sessionStorage.setItem("isregister",true)
        },
        // 退出登录
        logout(state){
            state.isLogin=false
            // sessionStorage.setItem("isLogin",false)
            // 清空token值
            sessionStorage.clear()
        },
        // 设置用户名
        setUserName(state,username){
            state.username=username
            sessionStorage.setItem("username",username)
        }
    },
    actions:{
        // 第一个参数 context
        login({commit},username){
            setTimeout(()=>{
                commit("login");
                commit("setUserName",username);
            },1000)
        },
        register({commit},username){
            setTimeout(()=>{
                commit("register");
                commit("setUserName",username);
            },1000)
        }
    },
    getters:{
        // 函数简写形式
        welcome:(state)=>state.username+"欢迎你",
    },
}